chore(website): migrate to pnpm and enable minimum release age#1845
chore(website): migrate to pnpm and enable minimum release age#1845
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1845 +/- ##
==========================================
- Coverage 92.42% 92.35% -0.08%
==========================================
Files 157 157
Lines 10921 10921
==========================================
- Hits 10094 10086 -8
- Misses 827 835 +8
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Added in commit b4f9b59 — plus the same block in apify-client-python and apify-sdk-python. On the JS side, |
There was a problem hiding this comment.
From Claude:
A couple of inconsistencies compared to the other two repos (apify-sdk-python #855, apify-client-python #724):
-
.gitignore— No change here, but apify-sdk-python replaceswebsite/.yarnwithwebsite/.pnpm-store. Should this repo also update.gitignore? -
pyproject.tomlpoe tasks —build-docs/run-docsusepnpm install --frozen-lockfile && pnpm build, while the other two repos usepnpm install && uv run pnpm build(no--frozen-lockfile, wrapped withuv run). Is this intentional? -
update-docs-themepoe task — The other two repos update this task fromcorepack enable && yarn uptopnpm update. Is this task missing here, or was it intentionally skipped?
|
We have some docs theme in crawlee? Sounds like claude hallucinates here and compares repos that are part of apify-docs with crawlee. |
|
Yeah, 3 is hallucination, 1 seems legit, and 2 - maybe? |
Migrates the website/ subdirectory from Yarn 4 to pnpm. The Python root (uv) is untouched. Adds @apify/* + @crawlee/* whitelist at the Renovate layer (minimumReleaseAge was already present in renovate.json). - website/package.json: rename to crawlee-python-website + private: true, packageManager -> pnpm@10.24.0, yarn/npx -> pnpm - website/pnpm-workspace.yaml: minimumReleaseAge 1440 with @apify/* + @crawlee/* excluded - website/.npmrc: hoisted linker + workspace linking flags - website/docusaurus.config.js: rename future.experimental_faster -> future.faster (Docusaurus 3.10 renamed the key) - Delete website/yarn.lock and website/.yarnrc.yml - pyproject.toml poe tasks build-docs/run-docs: drop corepack + yarn, use pnpm install --frozen-lockfile + pnpm build/start - New .github/actions/pnpm-install composite action (pattern from apify/apify-cli#1068) - manual_release_stable.yaml version_docs job: pnpm/action-setup + pnpm install --frozen-lockfile instead of corepack + yarn; npx docusaurus -> pnpm exec docusaurus; commit pnpm-lock.yaml - renovate.json: add internalChecksFilter "strict" and @apify/* + @crawlee/* whitelist (minimumReleaseAge "1 day" was already set) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replaces the local .github/actions/pnpm-install composite copy with the shared one from apify/workflows@main. Identical behavior, less duplication.
apify-client, apify-shared, and apify_fingerprint_datapoints are internal; their releases should install immediately (no 24h wait). Mirrors the @apify/* + @crawlee/* whitelist in pnpm-workspace.yaml on the JS side.
Silences npm warnings about unknown options like node-linker; pnpm reads the same keys from pnpm-workspace.yaml in camelCase form.
Block accidental npm/yarn install — npm 10.5+ and pnpm 10.x both honor devEngines.packageManager and refuse to run when it doesn't match.
- Replace website/.yarn with website/.pnpm-store in .gitignore - Add crawlee to uv exclude-newer-package whitelist - Add update-docs-theme poe task (consistent with sdk/client repos) - Use 'pnpm install && uv run pnpm build' in poe tasks (no --frozen-lockfile)
49a31eb to
4c76e79
Compare
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
devEngines.packageManager breaks pnpm commands that delegate to npm (pnpm version, pnpm pkg set, etc). Use the battle-tested only-allow approach instead (same as Vite, Vue, Astro).
Summary
Part of the org-wide supply-chain hardening + pnpm migration. Migrates the
website/subdirectory of crawlee-python from Yarn 4 to pnpm. Onlywebsite/changes — the Python root (uv) is untouched. Adds@apify/*+@crawlee/*whitelist at the Renovate layer (minimumReleaseAge: "1 day"was already set).Changes
website/package.json: renamed tocrawlee-python-website, markedprivate: true;packageManager: pnpm@10.24.0;yarn/npx→pnpmin scriptswebsite/pnpm-workspace.yaml:minimumReleaseAge: 1440with@apify/*+@crawlee/*excludedwebsite/.npmrc:node-linker=hoisted,link-workspace-packages=true,prefer-workspace-packages=true,public-hoist-pattern[]=*website/docusaurus.config.js: renamefuture.experimental_faster→future.faster(Docusaurus 3.10 renamed the key; pnpm resolves 3.10 from the^3.9.2range)website/yarn.lockandwebsite/.yarnrc.yml; generatedwebsite/pnpm-lock.yamlpyproject.tomlpoe tasksbuild-docs/run-docs: dropcorepack enable && yarn && yarn build/start, usepnpm install --frozen-lockfile && pnpm build/start.github/actions/pnpm-installcomposite action (cached pnpm store, pattern from chore: move to pnpm from yarn apify-cli#1068)manual_release_stable.yamlversion_docsjob: usepnpm/action-setup+pnpm install --frozen-lockfileinstead ofcorepack enable && yarn install;npx docusaurus→pnpm exec docusaurus; also commitspnpm-lock.yamlalongside versioned docsrenovate.json: addinternalChecksFilter: "strict"and@apify/*+@crawlee/*whitelist packageRule (minimumReleaseAge: "1 day"was already present)🤖 Generated with Claude Code